package com.suning.sawp.intf.util;

import java.util.List;

import com.suning.sawp.dto.common.ReturnMsg;
import com.suning.sawp.dto.oss.ExportTaskDto;

/**
 * 
 * 〈一句话功能简述〉导出工具类service<br>
 * 〈功能详细描述〉
 *
 * @author 17033093
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface ExportUtilsService {

    /**
     * 
     * 功能描述: 执行导出操作<br>
     * 〈功能详细描述〉
     *
     * @param task
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<String> executeExportTask(ExportTaskDto task);

    /**
     * 
     * 功能描述: 添加导出任务到Mongo<br>
     * 〈功能详细描述〉
     *
     * @param staffId
     * @param className
     * @param methodName
     * @param params
     * @param paramsType
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<String> addExportTask2QueueMongo(String staffId, String className, String methodName,
            List<Object> params, List<Class> paramsType);

    /**
     * 
     * 功能描述: 更新导出任务删除字段状态<br>
     * 〈功能详细描述〉
     *
     * @param task
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    void updateTaskDelFlagMongo(ExportTaskDto task);

    /**
     * 
     * 功能描述: 循环执行导出任务<br>
     * 〈功能详细描述〉
     *
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    void loopInvokeExportTask();

}
